using System.Collections.Generic;
using Drill.Configuration;
using Drill.Extensibility;

namespace Drill.Core
{
	public class DrillBitInitContext : IDrillBitInitContext
	{
		/// <summary>
		/// Gets the name of the DrillBit that should be 
		/// returned by the IDrillBit.Name property.
		/// </summary>
		/// <value>
		/// The name of the DrillBit that should be returned by 
		/// the IDrillBit.Name property.
		/// </value>
		public string Name { get; set; }

		/// <summary>
		/// Gets the list of configuration sources that the DrillBit 
		/// uses during initialization to configure itself.
		/// </summary>
		/// <value>
		/// The list of configuration sources that the DrillBit 
		/// uses during initialization to configure itself.
		/// </value>
		public IList<IConfigurationSource> ConfigurationSources { get; set; }

		/// <summary>
		/// Gets the configuration helper that can be used to locate and load configuration files.
		/// </summary>
		/// <value>
		/// The configuration helper.
		/// </value>
		public IConfigurationHelper ConfigurationHelper { get; set; }
	}
}